<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Promise处理同步任务</title>
    <script src="Promise.js"></script>
</head>
<body>

<script>
    /**
     *  promise.then()返回的新promise的结果状态由什么决定?
        (1)	简单表达: 由then()指定的回调函数执行的结果决定
        (2)	详细表达:
            ①	如果抛出异常, 新promise变为rejected, reason为抛出的异常
            ②	如果返回的是非promise的任意值, 新promise变为resolved, value为返回的值
            ③	如果返回的是另一个新promise, 此promise的结果就会成为新promise的结果
     * 
     */
    let p = new Promise((resolve, reject) => {
        // resolve('Success');
        reject('Error');
    });

    const result = p.then(value => {
        // console.log(value);
        // return 123;
        // return new Promise((resolve, reject) => {
        //     // resolve('OOOO');
        //     reject('error');
        // });
        // throw '出问题啦!';
    }, reason => {
        // console.error(reason);
        // return new Promise((resolve, reject) => {
        //     // resolve("OOKK");
        //     reject("Error");
        // });
        throw '出问题啦!';
    });

    console.log(result);
</script>
</body>
</html>